package de.g18.llmaa.gui.workspace.internalFrame.product;

import java.awt.Dimension;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JTabbedPane;

import de.g18.llmaa.gui.workspace.internalFrame.Abstract_InternalFrame;
import de.g18.llmaa.gui.workspace.internalFrame.product.key.JPanel_Key;
import de.g18.llmaa.logic.properties.PropertiesAndIconLoader;
import de.g18.llmaa.logic.vos.VOKey;
import de.g18.llmaa.logic.vos.VOProduct_Key;

/**
 * Das Fenster zum Anzeigen von Produkten, dieses wurde abgeleitet von der
 * {@link Abstract_InternalFrame} Klasse. Jedes Fenster beinhaltet ein eingenes
 * Model, welches die Anzuzeigenden Schlüssel beihnahltet.
 * 
 * @author Gruppe LLMAA
 * 
 */
public class InternalFrame_Product extends Abstract_InternalFrame {
	/**
	 * 
	 */
	private JTabbedPane_Product tabbedPane_Product;
	private IInternalFrame_Product_Model internalFrameModel;

	public InternalFrame_Product(VOProduct_Key product) {
		setFrameIcon(
				PropertiesAndIconLoader.getInstance().icon_ProdukteAnzeigen);
		internalFrameModel = new InternalFrame_Product_Model(product);
		setTitle(product.getProduct_Name());
		setContentPane(getTabbedPane_Product());
		setSize(new Dimension(500, 300));

		internalFrameModel.addVisibleElement("Produkt", new JPanel_Product(
				product));
		
	}

	public JTabbedPane getTabbedPane_Product() {
		if (tabbedPane_Product == null) {
			tabbedPane_Product = new JTabbedPane_Product();
			internalFrameModel.registerBeobachter(tabbedPane_Product);

		}

		return tabbedPane_Product;
	}

	public void addVisibleComponent(VOKey key) {

		internalFrameModel.addVisibleElement(key.getKey_Serial(),
				new JPanel_Key(key));

	}

}
